<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div>123</div>

    <script>
      //   'use strict'
      //this的指向：谁调用函数，this就指向谁，但是没人调用，指向全局
      //箭头函数的this：沿用父级函数作用域的this，沿用上一级this的指向

      //普通函数 指向window
      //   function fn(a) {
      //     console.log(a)
      //     console.log(this)
      //   }

      //   fn(1) //window
      //函数表达式 指向window
      //   const fn = function () {
      //     console.log(this)
      //   }

      //   fn() //window

      //对象中的方法中this指向对象
      //   const obj = {
      //     uname: 'harry',
      //     fn: function () {
      //       const fn1 = () => {
      //         console.log(this)
      //       }

      //       return fn1
      //     },
      //   }

      //   obj.fn()() //obj

      //   obj.fn1() // window

      //   const div = document.querySelector('div')

      //   div.addEventListener('click', function () {
      //     console.log(this)
      //   })

      //   div.addEventListener('click', () => {
      //     console.log(this)
      //   })

      function Star(uname, age) {
        this.uname = uname
        this.age = age
      }

      Star.prototype.sing = function () {
        console.log(this)
        console.log(this.uname + '会唱歌')
      }

      //   Star.prototype.sing()

      const zjl = new Star('zjl', 40)

      zjl.sing()
    </script>
  </body>
</html>
